﻿#region LICENSE

// The contents of this file are subject to the Common Public Attribution
// License Version 1.0. (the "License"); you may not use this file except in
// compliance with the License. You may obtain a copy of the License at
// https://github.com/NiclasOlofsson/MiNET/blob/master/LICENSE. 
// The License is based on the Mozilla Public License Version 1.1, but Sections 14 
// and 15 have been added to cover use of software over a computer network and 
// provide for limited attribution for the Original Developer. In addition, Exhibit A has 
// been modified to be consistent with Exhibit B.
// 
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
// the specific language governing rights and limitations under the License.
// 
// The Original Code is MiNET.
// 
// The Original Developer is the Initial Developer.  The Initial Developer of
// the Original Code is Niclas Olofsson.
// 
// All portions of the code written by Niclas Olofsson are Copyright (c) 2014-2018 Niclas Olofsson. 
// All Rights Reserved.

#endregion

using MiNET.Blocks;
using MiNET.Entities;
using MiNET.Entities.Passive;

namespace MiNET.Items
{
	public class ItemShears : Item
	{
		public ItemShears() : base(359)
		{
			MaxStackSize = 1;
		}

		public override bool DamageItem(Player player, ItemDamageReason reason, Entity target, Block block)
		{
			switch (reason)
			{
				case ItemDamageReason.BlockBreak:
				{
					if (block is Web || block is Leaves || block is Leaves2 || block is Wool || block is Vine)
					{
						Metadata++;
						return Metadata >= GetMaxUses() - 1;
					}
					return false;
				}
				case ItemDamageReason.EntityInteract:
				{
					if (target is Sheep)
					{
						Metadata++;
						return Metadata >= GetMaxUses() - 1;
					}
					return false;
				}
				default:
					return false;
			}
		}

		protected override int GetMaxUses()
		{
			return 238;
		}
	}
}